﻿using RabbitMQ.Client;

namespace Infrastructure.Utility.Core.RabbitMq.Providers
{
    public interface IProvider
    {
        IConnection CreateConnectionInPool();
        void ResetConnectionToFree(IConnection connection);
        IModel CreateChannel(IConnection connection);
        string ToJson<T>(T model);
        bool Durable { get; }
        string ExchangeName { get; }
        string QueueName { get; }
        string RouteKey { get; }
    }
}
